﻿Изменения:
---------
4.1.7.RC1   01/01/2021
---------
   Исправлено сохранение скрипта в кодировки UTF-8 с BOM меткой.
   Исправлен сбой авто-добавления кода, когда позиция вставки находилась на последней строке скрипта.
   Исправлена ошибка сбоя когда имя процедуры не было введено после ключевого слова 'procedure'.
   исправлена ошибка при добавлении строки при регистрации скриптов, и сохранение файла scripts.lst в его текущей кодировке.
   Исправлено обновление пути к языковой папки сообщений, и путь сохранения .msg файла в папку диалога при его создании.
   Исправлен сбой при разборе кода диалога.

---------
4.1.7.RC   06/11/2020
---------
   Добавлена кнопка "Save All" на главную панель.
   Добавлено авто-определение текущего языка для всплывающих подсказок при первом запуске редактора.
   Добавлено авто-обновление лога ошибок при переключении вкладок теперь будет происходить, когда есть ошибки при парсинге или компиляции.
   Добавлено расширение .cfg для открытия файлов данного типа в редакторе.
   Добавлено специальная форма комментария /** **/ для отображения описания к макросам.
   Добавлена горячая клавиша для создания процедур.
   Добавлен поиск диалоговых .msg файлов в под папках альтернативных путей к файлам.
   Добавлено сохранение путей поиска и искомых слов для Advanced Search.
   Добавлено отображения вкладки окна "Batch Compiler" на панели задач.
   Добавлена функция для переименования глобально-определенных макросов.
   Добавлена дополнительная кнопка на панель меню для обновления данных парсера.
   Улучшена и исправлена массовая компиляция скриптов для много потокового режима, и добавлен параметр Short Circuit Evaluation.
   Улучшение модуля для построения диалоговых диаграмм.
   Добавлена возможность отредактировать код шаблона при добавлении новой ноды в редакторе диалоговых нод.
   Удалена модальность окна регистрации скриптов, теперь окно можно свернуть.

Исправления:
   Улучшение и исправление ошибок в форме создания процедур с аргументами.
   Исправлена не всегда работающая функция Drag&Drop для открытия файлов.
   Исправлено сохранение файлов не являющимися .ssl, .h и .msg в их исходной кодировке.
   Исправлен размер шрифта во всплывающих подсказках списка авто-завершения для шрифтов не являющимися Tahoma.
   Исправлена ошибка сбоя при перемещении процедур в навигаторе процедур, когда отображались имеющиеся аргументы процедур.
   Исправлена очистка лога компиляции при использовании команды меню "RoundTrip".
   Исправление различных ошибок в модуле построения диалоговых диаграмм.
   Исправлено появление ошибки при попытке открыть ассоциированный файл сообщений скрипта для типов файлов отличных от .ssl
   Исправлено неверное отображение знаков Юникода во всплывающей информации к макросам при чтении *.h файлов.
   Исправлено обновление данных деклараций о имени и файле в процедурах и переменных, когда скрипт был сохранен под другим именем.
   Исправлено поведение и разделение документа функцией "Split", когда пропадал фокус с активной текстовой области.
   Исправлена ошибка при декомпиляция скриптов когда декомпиляции скриптов занимала продолжительное время.
   Исправлена очистка списка текущих ошибок в скрипте при успешной компиляции скрипта.
   ...
   И много других незначительных исправлений.

---------
4.1.6.0    10/03/2020
---------
   Добавлены описания к новым функция sfall и их синтаксическая подсветка в коде скрипта.
   Добавлена опция в контекстное меню для конвертирования числа из десятичного в шестнадцатеричное значение и обратно.
   Добавлено автоматическое добавление ключевого слова "variable" к аргументам процедуры при создании процедуры.
   Улучшено взаимодействие пользователя с формой расширенного поиска.
   Опции расширенного поиска "Match Case" и "Whole Word" сохраняют свое установленное состояние в настройках редактора.
   Добавлена опция для переключения графического режима курсора каретки.
   Добавлено конвертирование управляющих символов CRLF в LF для Unix систем при сохранении скрипта.

Исправления:
   Исправлено обновление иконок на вкладках при нажатии кнопки SaveAll.
   Исправлено наложение подчеркивание ошибок друг на друга в коде скрипта.
   Исправлено удаление символа '\' во всплывающих подсказках для локальных макросов.
   Исправление некорректных управляющих символов для перевода строки при открытии файла скрипта.
   Исправлено зависание программы при компиляции скриптов в Windows 10.
   Исправлена медленная отрисовка интерфейса таблицы в Windows 7 для окна регистрации скриптов и редактора сообщений.
   Исправлено отображение курсора каретки для темной темы в программном режиме (для Unix систем).
   Другие незначительные исправления в редакторе.

---------
4.1.5.0    18/10/2019
---------
Основные нововведения и улучшения:
   Улучшена функция вызова списка AutoComplete, теперь выводится список c ключевыми словами относительно позиции курсора.
   Переработана система подсветки процедур в тексте скрипта.
   Добавлена подсветка текущей процедуры в правой панели процедур.
   Добавлено переименование процедур по ссылкам на них.
   Доработана логика выбора пути при извлечении скрипта из .dat архива.
   Немного увеличен размер окна и размер шрифта для Headers файлов и увеличен размер окна для регистрации скриптов.
   Добавлено сохранение свернутых процедур скрипта в отдельный конфигурационный файл.
   Для встроенного препроцессора sfall компилятора добавлен аргумент позволяющий сделать условную компиляцию скрипта.
   Добавлена опция для включения режима обратной совместимости скриптов для компилятора и парсера.
   Доработан режим компиляции через пользовательский cmd файл.
   Добавлен инструмент для настройки пользовательских диалоговых макросов (beta стадия).
   Увеличен размер шрифта всплывающего диалогового текста для блок-схем.
   Улучшение в построении диалоговой блок-схемы, и исправление ошибок.

   Добавлены описания к новым функциям и их подсветка в синтаксисе.

Исправления:
   Фигурные скобки были удалены из опции по парного ввода символов.
   Исправление отображения кодировки текста при использовании путей к файлам с кириллицей.
   Исправлено обновление списка процедур для правой панели.
   Исправлено положение вставки декларации процедуры, когда ранее не было объявлено не одной процедуры в скрипте.
   Исправлено выделение специального региона с текстом для аргументов функций при двойном клике по нему.
   Исправлен порядок поиска Include файлов, теперь корневая папка приложения имеет самый низкий приоритет при поиске.
   Исправлена функция меню RoundTrip, теперь не перезаписывает .int файл в исходной папке.

---------
4.1.4.253  12/06/2019
---------
   Исправлена ошибка навигации для правой панели со списком процедур.

---------
4.1.4.214  12/05/2019
---------
Основные нововведения и улучшения:
   Добавлены все новые функции sfall 4.1.7 и описаний к ним.
   Добавлена вставка имени процедуры или переменной в скрипт при клике их именам в правой панели редактора.
   Добавлено ограничение на количество записей для истории поиска при сохранении их в файл.
   Добавлено подчеркивание строки с ошибкой, когда ошибка локализуется в заголовочном файле.
   Доработано окна формы для продвинутого поиска.
   Улучшен вызов списка AutoComplete и добавлена команд вызова списка AutoComplete по горячей клавише.
   Улучшены функции автоматической вставки фрагментов скриптового кода, и парных кавычек в код скрипта.
   Доработка кнопки для изменения размера шрифта.
   Доработка MSG-редактора, улучшено управление курсорных клавиш Home и End при редактировании текста в ячейке.

Исправления:
   Исправлено создание закрывающего тега для процедур, если не было найдено требуемое ключевое слово 'end'.
   Исправлена автоматическая вставка ключевого слова 'end' для процедуры.
   Исправление списка AutoComplete, когда при открытии списка указатель курсора находился над элементом и не давал выбрать элемент при помощи курсорных клавиш.
   Исправление позиционирования каретки при закрытии списка AutoComplete.
   Исправление ошибки сохранения файла scrname.msg при регистрации скрипта в Scripts.lst.

---------
4.1.3.580  28/08/2018
---------
Основные нововведения и улучшения:
   Добавлена всплывающая картинка информирующая об успешной компиляции скрипта.
   Добавлена темная схема для подсветки синтаксиса скриптов.
   Добавлена подсветка для всех имеющихся процедур скрипта.
   Добавлено меню для левой панели, позволяющей быстро добавить пользовательскую функцию в дерево функций или отредактировать существующую.
   Получение всех определений из всех доступных *.h файлов в папке заголовков, после открытия файла скрипта.
   Автоматическое исправление расположения ключевого слова begin после де-компиляции скрипта.
   Сохранение и восстановление сокрытых блоков процедур после открытия/закрытия файла скрипта.

Исправление старых ошибок в редакторе.

---------
4.1.2.280 RC
---------
Добавления и улучшения:
   Добавлена возможность открыть, открытый файл скрипта или файл диалога во внешнем редакторе.
   Добавлена функция быстрого подключения файла Include в код скрипта.
   Добавлено увеличение номера в имени процедуры при создании новой процедуры.

Исправлено много ошибок в работе редактора.

---------
4.1.1 RC
---------
Добавления и улучшения:
   Добавлена горячая клавиша для функции меню найти References.

Исправление ошибок:
   Исправлена ошибка для позиций навигаций в скрипте при использовании командных клавиш.
   Исправлены ошибки при использовании горячих клавиш команд меню Declaration/Definition и Open Include.
   Исправлено появление предупреждающего сообщения при создании новой блок схемы.
   Исправлено сокрытие списка Авто Завершения и всплывающих подсказок.

---------
4.1.0 RC
---------
Добавления и улучшения:
   Добавлена система построения блок-схем для визуализации диалоговых нод, а так-же их редактирование.
   Улучшен пред-просмотр и тестирование диалога скрипта.
   Переработаны и улучшены некоторые функции редактора.
   Добавлены некоторые define-константы в подсветку синтаксиса.
   Добавлена возможность выбрать моноширинный шрифт для текстового редактора.
   Добавлена возможность использования внешнего mcpp препроцессора, позволяющего сделать условную компиляцию скрипта.
   Добавлена возможность проверить MSG файл сообщения на ошибки структуры скобок.
   Добавлена возможность в окне регистрации скриптов открыть(де-компилировать) скрипт упакованный в .dat архиве игры.
   Добавлены опции отображения символов табуляции и пробелов, а так же функции для их преобразования, и удаления.

Исправление ошибок:
   Исправлено много незначительных ошибок в работе редактора.

---------
4.0.8 beta
---------
Добавления и улучшения:
   В редакторе сообщений добавлена возможность изменения размера шрифта, и подсветки строки комментария.
   Во вкладку "Ошибок" добавлено отображения ошибок парсера, для быстрого перехода к ним в скрипте.
   Улучшено перетаскивание между собой для вкладок открытых скриптов.

Исправление ошибок:
   Исправлена ошибка удаления ранее скомпилированного скрипта в папке назначения, если текущая компиляция терпела неудачу.
   Исправлены ошибка форматирования кода скрипта для отрицательных чисел, и для строк заключенных в кавычки.
   Исправлена ошибка при которой удалялся правый символ в строке, при автоматическом вводе парных скобок.
   Исправлена ошибка открытия файлов скриптов по клику на файле скрипта.

---------
4.0.7 beta
---------
Добавлены новые функции:
   В редактор диалоговый сообщений добавлена опция для размещения окна редактора поверх интерфейса основного редактора скриптов.
   Добавлены некоторые отсутствующие макросы в подсветку синтаксиса и в дерево функций.

Исправление ошибок:
   Для русской DOS кодировки, при сохранении текстового файла русская буква "Х", заменяется на латинскую для корректного отображения в игре.
   Исправлена ошибка при переименовании локальных макросов.
   исправлены ошибки при перемещении и создании процедур.
   Исправлена ошибка связанная с ассоциированными файлами редактора при их при открытии.

---------
4.0.5 beta
---------
   Добавлен инструмент для тестирования и пред просмотра диалога в скрипте.
   Изменено поведение автоматического отступа для строки, теперь автоматически вставляется "end" после ключевого слова "begin" при переводе каретки на новую строку.
   В продвинутом поиске добавлены опции "Match Case" и "Whole Word Only", а так же улучшен поиск в файлах.
   Редактор текстовых диалоговых файлов теперь запускается отдельно от основного редактора скриптов.
   Добавлены пользовательские файлы User_SyntaxRules.xml и UserFunctions.ini, для добавления собственных макросов и подсветку синтаксиса.
   Добавлена константа определения SFALL_SC_EVALUATION указывающая, что при компиляции этого скрипта использовать опцию компилятора "Short-circuit evaluation". (Это не работает при массовой компиляции скриптов).
   В редактор текстовых сообщений добавлена возможность перемещать строки, а так же используя символ табуляции или опцию указывать какие строки являются ответами для игрока.

Исправление ошибок:
   Исправлена недоработка при которой макрос не определялся, если использовался символ табуляции в строке определения макроса.
   Исправлен путь при поиске связанных файлов сообщений, когда неустановленная папка вывода для скриптов, ассоциированный файл сообщений ищется, в той же папке где расположен сам файл скрипта.

---------
4.0.0 beta (extended by mr.Stalin)
---------
Добавлены новые функции:
   Добавлена функциональная панель с описанием всех часто используемых функций и макросов.
   Добавлен визуальный редактор для файлов сообщений, теперь он может быть установлен при открытии ассоциированных файлов сообщений.
   Добавлено меню для быстрого открытия файлов заголовков.
   Изменен вид редактора для регистрации скриптов, теперь он выглядит более правильно.
   Разделена общая панель Процедур и Переменных на глобальные и локальные.
   К панели процедур добавлено контекстное меню с функциями: Создание/Переименование/Удаление/Перемещения, и быстрого создания стандартных процедурных обработчиков.
   Добавлена панель для быстрого поиска текста в открытом текущем скрипте.
   Добавлена новая подсветка синтаксиса скрипта, а также добавлены отсутствующие функции в подсветку.

   Добавлены функции комментирования выбранного фрагмента кода скрипта.
   Добавлена функция уменьшения отступа для выбранных строк, а также выравнивание выбранного текста по левому краю.
   Добавлена функция форматирования кода скрипта для выбранного текста, и опция авто-форматирования кода скрипта при открытии SSL файла.
   В контекстное меню добавлена функция подсветки выбранного текста скрипта.
   В контекстное меню добавлено функция интуитивного переименования для локальных переменных/переменных скрипта, имен процедур, и макросов определенных в самом скрипте.
   Автоматическое дублирование закрывающих скобок и кавычек, также изменен принцип подсветки для парных скобок.

   В настройках добавлены дополнительные пути для поиска ассоциированных файлов сообщений.
   Сохранение текущей позиции курсора при закрытии файла скрипта, и последующего перехода к этой позиции после открытии этого же скрипта.
   В настройках добавлена опция для переопределения путей подключенных в скрипте заголовочных файлов.

   Добавлена кнопка для перехода к процедуре под курсором, в случае, когда парсер кода вызвал ошибку, или если парсер неактивен.
   Добавлены кнопки навигации по коду скрипта.
   Добавлена опция горизонтального разделения документа скрипта на две части (верх/низ).
   Добавлена опция подчеркивания ошибок кода скрипта от внешнего синтаксического анализатора.
   Добавлена вертикальная вспомогательная направляющая, расстояние которой зависит от установочного параметра 'Tabs Size Space'.
   Подсветка текущей строки, а также отображение информация о текущем положения курсора.
   Теперь выделение текста не перекрывает подсветку синтаксиса в скрипте.
   Возможность скрывать нумерацию строк в скрипте, правой или нижней панели.
   Добавлена кнопка для правой панели процедур, позволяющая сворачивать другие процедуры при переходе к выбираемой процедуре.

   Добавлена опция сохранения скомпилированного файла в той же директории где находится сам ssl исходник, т.е. не помещая его в папку Scripts.
   Добавлено опциональное использование препроцессора Watcom перед компиляцией скрипта, с возможностью условной компиляцией (RELEASE/DEBUG).
   Опциональная возможность компиляция скрипта через пользовательский usercomp.bat файл.

   В opcodes_rus.txt(русский вариант) добавлены некоторые макросы из command.h
   Добавлена поддержка кирилистической кодировки (OEM-866/Dos) для текстовых файлов сообщений.

Изменения в оригинальных функциях:
   Изменена подсветка текста для .msg файлов сообщений.
   При регистрации скриптов в Script.lst, теперь не требуется обязательного наличия файлов script.h и scrname.msg.
   При открытии .int файла скрипта и декомпиляции его, в случаях, когда возникает ошибка при его декопиляциии, будет осуществлена попытка декомпиляции при помощи более ранней версией декомпилятора (int2ssl.exe из sfall v.3.5).
   Изменен принцип взаимодействия с внешним парсером кода, теперь процедуры скрипта отображаются всегда, вне зависимости включен ли парсер.
   Так же всплывающие подсказки к функциям из opcodes.txt при первом открытии скрипта теперь отображаются, не смотря на состояние внешнего парсера.
   Клик мышкой по лейблу состояния парсера приводить к запуску обновления информации.
   Изменена функция "Outline", теперь она открывает и закрывает блоки процедур интуитивно правильно, а свернутые блоки показывают название процедуры.
   Окно функция 'Auto-Comlete' теперь не ограничена в количестве отображения доступных опкодов или макросов.
   Добавлена кнопка для правой панели процедур, позволяющая показать или скрыть аргументы, принимаемые процедурой.
   Окно поиска теперь отображается всегда поверх рабочего окна.
   Немного улучшен функционал функции "GOTO Line".
   Улучшено отображение всплывающего окна к макросам и опкодам, а так же информация о них.

   Из файла opcodes.txt убраны дублирующие опкоды и макросы.
   Вырезана функция для пропатчивания CritterHead Frm файлов для sfall "32-bit Head Graphics", теперь это является отдельной утилитой.

Исправление ошибок:
   Исправлена ошибка UpperCase/LowerCase функций.
   Исправлена ошибка при сохранении информации в файл Script.lst.
   Исправлена ошибка при открытии файла из списка недавно открытых файлов, в случае, когда таковой файл не был найден.
   Исправлена ошибка при поиске ключевого текста во всех открытых документах, не позволяющая переходить к поиску в следующем открытом документе.
   Исправлена ошибка вне возможности отображения подсказок к opcodes и макросам, если они имели заглавные буквы.

И много других незначительных изменений.
